﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OleDb;
using System.Data;

namespace TanPhu
{
    public partial class TimKiemNangCao : System.Web.UI.Page
    {
        #region code cũ
        //private static string _ketQuaDuong = "";
        //private static string _ketQuaPhuong = "";
        //private static string _maDichVu = "";
        
        //#region Connection String
        //// Kết nối tới CSDL
        //private static string GetConnectionString()
        //{
        //    return System.Configuration.ConfigurationManager.ConnectionStrings["Database"].ConnectionString;
        //}
        //#endregion

        //#region Xử Lý Giao Diện
        //protected void CheckBox3_CheckedChanged(object sender, EventArgs e)
        //{
        //    if (CheckBox3.Checked)
        //    {
        //        txtDuong.Enabled = true;
        //        txtDuong.Text = "";
        //    }
        //    else
        //    {
        //        txtDuong.Enabled = false;
        //        txtDuong.Text = "";
        //    }
        //}

        //protected void CheckBox5_CheckedChanged(object sender, EventArgs e)
        //{
        //    if (CheckBox5.Checked)
        //    {
        //        txtPhuong.Enabled = true;
        //        txtPhuong.Text = "";
        //    }
        //    else
        //    {
        //        txtPhuong.Enabled = false;
        //        txtPhuong.Text = "";
        //    }
        //}

        //#endregion


        //#region Tìm kiếm dịch vụ theo đường
        //// Hàm tìm kiếm mã đường theo từ khóa
        //private static string TimDuong(string tuKhoa)
        //{
        //    var kq = "";
        //    var dataTable = new DataTable();
        //    var connectionString = new OleDbConnection(GetConnectionString());
        //    try
        //    {
        //        connectionString.Open();
        //        var statement = "SELECT MADUONG FROM TUKHOADUONG WHERE TUKHOADUONG ='" +
        //                        tuKhoa + "'";
        //        var command = new OleDbCommand(statement, connectionString);
        //        var dataAdapter = new OleDbDataAdapter(command);
        //        dataAdapter.Fill(dataTable);
        //        if (dataTable.Rows.Count > 0)
        //        {
        //            var dataRow = dataTable.Rows[0];
        //            kq = dataRow["MADUONG"].ToString();
        //        }
        //        return kq;
        //    }
        //    catch (OleDbException)
        //    {
        //        kq = "";
        //        return kq;
        //    }
        //    finally
        //    {
        //        connectionString.Close();
        //    }
        //}
        //// Hàm tìm kiếm dịch vụ theo mã đường và mã dịch vụ
        //private void BindGridViewDuong(string maDuong, string maDichVu)
        //{
        //    var dataTable = new DataTable();

        //    var connectionString = new OleDbConnection(GetConnectionString());

        //    try
        //    {
        //        connectionString.Open();

        //        var statement =
        //            "SELECT DV.TENDICHVU, TDD.TENDIADIEM, DL.SONHA, D.TENDUONG, P.TENPHUONG, QH.TENQUANHUYEN FROM DULIEU DL, DICHVU DV, TENDIADIEM TDD, DUONG D, PHUONG P , QUANHUYEN QH WHERE DL.MADICHVU = DV.MADICHVU AND DL.MATENDIADIEM = TDD.MATENDIADIEM AND DL.MADUONG = D.MADUONG AND DL.MAPHUONG = P.MAPHUONG AND DL.MAQUANHUYEN = QH.MAQUANHUYEN AND D.MADUONG = " +
        //            maDuong + "AND DL.MADICHVU = " + maDichVu;

        //        var command = new OleDbCommand(statement, connectionString);

        //        var dataAdapter = new OleDbDataAdapter(command);

        //        dataAdapter.Fill(dataTable);

        //        if (dataTable.Rows.Count > 0)
        //        {
        //            GridView1.DataSource = dataTable;
        //            GridView1.DataBind();
        //        }
        //    }
        //    catch (Exception ex)
        //    {
        //        var message = "Fetch Error:";

        //        message += ex.Message;

        //        throw new Exception(message);
        //    }
        //    finally
        //    {
        //        connectionString.Close();
        //    }
        //}
        //#endregion

        //#region Tìm kiếm dịch vụ theo phường
        //// Hàm tìm kiếm mã phường theo từ khóa
        //private static string TimPhuong(string tuKhoa)
        //{
        //    var kq = "";
        //    var dataTable = new DataTable();
        //    var connectionString = new OleDbConnection(GetConnectionString());
        //    try
        //    {
        //        connectionString.Open();
        //        var statement = "SELECT MAPHUONG FROM TUKHOAPHUONG WHERE TUKHOAPHUONG ='" +
        //                        tuKhoa + "'";
        //        var command = new OleDbCommand(statement, connectionString);
        //        var dataAdapter = new OleDbDataAdapter(command);
        //        dataAdapter.Fill(dataTable);
        //        if (dataTable.Rows.Count > 0)
        //        {
        //            var dataRow = dataTable.Rows[0];
        //            kq = dataRow["MAPHUONG"].ToString();
        //        }
        //        return kq;
        //    }
        //    catch (OleDbException)
        //    {
        //        kq = "";
        //        return kq;
        //    }
        //    finally
        //    {
        //        connectionString.Close();
        //    }
        //}
        //// Hàm tìm kiếm dịch vụ theo mã đường và mã dịch vụ
        //private void BindGridViewPhuong(string maPhuong, string maDichVu)
        //{
        //    var dataTable = new DataTable();

        //    var connectionString = new OleDbConnection(GetConnectionString());

        //    try
        //    {
        //        connectionString.Open();

        //        var statement =
        //            "SELECT DV.TENDICHVU, TDD.TENDIADIEM, DL.SONHA, D.TENDUONG, P.TENPHUONG, QH.TENQUANHUYEN FROM DULIEU DL, DICHVU DV, TENDIADIEM TDD, DUONG D, PHUONG P , QUANHUYEN QH WHERE DL.MADICHVU = DV.MADICHVU AND DL.MATENDIADIEM = TDD.MATENDIADIEM AND DL.MADUONG = D.MADUONG AND DL.MAPHUONG = P.MAPHUONG AND DL.MAQUANHUYEN = QH.MAQUANHUYEN AND P.MAPHUONG = " +
        //            maPhuong + "AND DL.MADICHVU = " + maDichVu;

        //        var command = new OleDbCommand(statement, connectionString);

        //        var dataAdapter = new OleDbDataAdapter(command);

        //        dataAdapter.Fill(dataTable);

        //        if (dataTable.Rows.Count > 0)
        //        {
        //            GridView1.DataSource = dataTable;
        //            GridView1.DataBind();
        //        }
        //    }
        //    catch (Exception ex)
        //    {
        //        var message = "Fetch Error:";

        //        message += ex.Message;

        //        throw new Exception(message);
        //    }
        //    finally
        //    {
        //        connectionString.Close();
        //    }
        //}
        //#endregion

        //#region Tìm kiếm dịch vụ

        //private void BindGridView(string maDuong, string maDichVu, string maPhuong)
        //{
        //    var dataTable = new DataTable();

        //    var connectionString = new OleDbConnection(GetConnectionString());

        //    try
        //    {
        //        connectionString.Open();

        //        var statement =
        //            "SELECT DV.TENDICHVU, TDD.TENDIADIEM, DL.SONHA, D.TENDUONG, P.TENPHUONG, QH.TENQUANHUYEN FROM DULIEU DL, DICHVU DV, TENDIADIEM TDD, DUONG D, PHUONG P , QUANHUYEN QH WHERE DL.MADICHVU = DV.MADICHVU AND DL.MATENDIADIEM = TDD.MATENDIADIEM AND DL.MADUONG = D.MADUONG AND DL.MAPHUONG = P.MAPHUONG AND DL.MAQUANHUYEN = QH.MAQUANHUYEN AND D.MADUONG = " +
        //            maDuong + "AND DL.MADICHVU = " + maDichVu + "AND P.MAPHUONG = " + maPhuong;

        //        var command = new OleDbCommand(statement, connectionString);

        //        var dataAdapter = new OleDbDataAdapter(command);

        //        dataAdapter.Fill(dataTable);

        //        if (dataTable.Rows.Count > 0)
        //        {
        //            GridView1.DataSource = dataTable;
        //            GridView1.DataBind();
        //        }
        //    }
        //    catch (Exception ex)
        //    {
        //        var message = "Fetch Error:";

        //        message += ex.Message;

        //        throw new Exception(message);
        //    }
        //    finally
        //    {
        //        connectionString.Close();
        //    }
        //}

        //#endregion

        //#region Nút Tìm
        //protected void btnAdvanceSearch_Click(object sender, EventArgs e)


        //{
        //    Label1.Text = "";
        //    _maDichVu = ddlDichVu.SelectedValue;

        //    if (CheckBox3.Checked && CheckBox5.Checked)
        //    {
        //        if (txtDuong.Text == "")
        //        {
        //            Label1.Text = "Chưa nhập tên đường";
        //            txtDuong.Focus();
        //        }
        //        else
        //            if (txtPhuong.Text == "")
        //            {
        //                Label1.Text = "Chưa nhập tên phường";
        //                txtPhuong.Focus();
        //            }
        //            else
        //            {
        //                var temp = txtDuong.Text;
        //                var tuKhoa1 = temp.ToLower();
        //                temp = txtPhuong.Text;
        //                var tuKhoa2 = temp.ToLower();
        //                _ketQuaDuong = TimDuong(tuKhoa1);
        //                _ketQuaPhuong = TimPhuong(tuKhoa2);
        //                // Nếu tìm thấy cả 2 kết quả
        //                if (!_ketQuaDuong.Equals("") && !_ketQuaPhuong.Equals(""))
        //                    BindGridView(_ketQuaDuong, _maDichVu, _ketQuaPhuong);
        //                else
        //                    if (!_ketQuaDuong.Equals(""))
        //                    {
        //                        // Thực hiện tìm kiếm dịch vụ trên quận đó
        //                        BindGridViewDuong(_ketQuaDuong, _maDichVu);
        //                    }
        //                    else
        //                        if (!_ketQuaPhuong.Equals(""))
        //                        {
        //                            // Thực hiện tìm kiếm dịch vụ trên quận đó
        //                            BindGridViewPhuong(_ketQuaPhuong, _maDichVu);
        //                        }
        //                        else
        //                        {
        //                            Label1.Text = "Không tìm thấy kết quả nào";
        //                        }
        //            }
        //    }
        //    else
        //    {
        //        if (CheckBox3.Checked)
        //        {
        //            var temp = txtDuong.Text;
        //            var tuKhoa = temp.ToLower();
        //            if (txtDuong.Text == "")
        //            {
        //                Label1.Text = "Chưa nhập tên đường";
        //                txtDuong.Focus();
        //            }
        //            else
        //            {
        //                _ketQuaDuong = TimDuong(tuKhoa);
        //                // Nếu tìm thấy đường :
        //                if (!_ketQuaDuong.Equals(""))
        //                {
        //                    // Thực hiện tìm kiếm dịch vụ trên quận đó
        //                    BindGridViewDuong(_ketQuaDuong, _maDichVu);
        //                }
        //                else
        //                {
        //                    Label1.Text = "Không tìm thấy kết quả nào";
        //                }
        //            }
        //        }
        //        else
        //        {
        //            if (CheckBox5.Checked)
        //            {
        //                var temp = txtPhuong.Text;
        //                var tuKhoa = temp.ToLower();
        //                if (txtPhuong.Text == "")
        //                {
        //                    Label1.Text = "Chưa nhập tên phường";
        //                    txtPhuong.Focus();
        //                }
        //                else
        //                {
        //                    _ketQuaPhuong = TimPhuong(tuKhoa);
        //                    // Nếu tìm thấy phường :
        //                    if (!_ketQuaPhuong.Equals(""))
        //                    {
        //                        // Thực hiện tìm kiếm dịch vụ trên quận đó
        //                        BindGridViewPhuong(_ketQuaPhuong, _maDichVu);
        //                    }
        //                    else
        //                    {
        //                        Label1.Text = "Không tìm thấy kết quả nào";
        //                    }
        //                }
        //            }
        //        }
        //    }
        //}
        //#endregion
        #endregion
        protected string MaPhuong = string.Empty;
        protected string MaQuan = string.Empty;
        protected string MaDVu = string.Empty;
        protected string key = string.Empty;
        protected void Page_Load(object sender, EventArgs e)
        {
                SetFocus(this.txtSearch);
        }
        protected void btnSearch_Click(object sender, EventArgs e)
        {
            if (!cbPhuong.Checked && !cbQuan.Checked && !cbDVu.Checked)
            {
                if (!string.IsNullOrEmpty(this.txtSearch.Text))
                {
                    Response.Redirect("Result.aspx?text=" + this.txtSearch.Text);
                }
            }
            else
            {
                if (cbPhuong.Checked)
                    MaPhuong = ddPhuong.SelectedValue;
                if (cbQuan.Checked)
                    MaQuan = ddQuan.SelectedValue;
                if (cbDVu.Checked)
                    MaDVu = ddDvu.SelectedValue;
                if (!string.IsNullOrEmpty(this.txtSearch.Text))
                    key = this.txtSearch.Text;
                Response.Redirect(string.Format(@"Result.aspx?key={0}&maPhuong={1}&maQuan={2}&maDvu={3}",key,MaPhuong,MaQuan,MaDVu));
            }
        }

        protected void cbPhuong_CheckedChanged(object sender, EventArgs e)
        {
            ddPhuong.Enabled = cbPhuong.Checked;
        }

        protected void cbDVu_CheckedChanged(object sender, EventArgs e)
        {
            ddDvu.Enabled = cbDVu.Checked;
        }

        protected void cbQuan_CheckedChanged(object sender, EventArgs e)
        {
            ddQuan.Enabled = cbQuan.Checked;
        }
    }
}